package com.qfedu.sem.dto;

import java.util.ArrayList;
import java.util.List;

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;
import wo.common.util.WoUtil;
import com.qfedu.sem.po.Project;
import com.qfedu.sem.po.BugVersion;

/**
 * PO实体BugVersion对应的DTO父类.这是自动生成的代码,请不要修改.如要添加属性或者方法,请在其子类DTO中修改.
 * @author cailei
 */
class BugVersionDto_ {

	/**
	 * 主键id
	 */
	private java.lang.String id;

	/**
	 * 属性no
	 */
	private java.lang.String no;

	
	/**
	 * 对应PO的project属性,多对一关联实体Project的主键值
	 */
	private java.lang.String projectId;

	/**
	 * 对应PO的project属性,多对一关联实体Project的name属性值
	 */
	private java.lang.String projectName;

	
	/**
	 * 无参构造函数
	 */
	public BugVersionDto_() {
	}

	/**
	 * 构造函数,通过po构造dto
	 */
	public BugVersionDto_(BugVersion po) {
			// 设置主键id
		this.id = po.getId();
				// 设置属性no
		this.no = po.getNo();
		
				// 设置DTO的project属性值
		if (po.getProject() != null) {
			this.projectId = po.getProject().getId();
			this.projectName = po.getProject().getName();
		}
			}

	
	/**
	 * 主键id的getter方法
	 */
	public java.lang.String getId() {
		return this.id;
	}

	/**
	 * 主键id的setter方法
	 */
	public void setId(java.lang.String id) {
		this.id = id;
	}

	
	/**
	 * 属性no的getter方法
	 */
		public java.lang.String getNo() {
		return this.no;
	}

	/**
	 * 属性no的setter方法
	 */
		public void setNo(java.lang.String no) {
		this.no = no;
	}

	/**
	 * 属性projectId的getter方法
	 */
	public java.lang.String getProjectId() {
		return projectId;
	}

	/**
	 * 属性projectId的setter方法
	 */
	public void setProjectId(java.lang.String projectId) {
		this.projectId = projectId;
	}

	/**
	 * 属性projectName的getter方法
	 */
	public java.lang.String getProjectName() {
		return projectName;
	}

	/**
	 * 属性projectName的setter方法
	 */
	public void setProjectName(java.lang.String projectName) {
		this.projectName = projectName;
	}

	/**
	 * 将当前对象转化为po
	 * @return
	 */
	public BugVersion createPO() {
		BugVersion po = new BugVersion();
			// 设置PO主键id
					if (WoUtil.isEmpty(this.id)) {
				po.setId(java.util.UUID.randomUUID().toString());
			} else {
				po.setId(this.id);
			}
						// 设置PO属性no
				po.setNo(this.no);
				
				// 设置关系数据
		Project project = new Project();
		if (!WoUtil.isEmpty(projectId)) {
			project.setId(this.projectId);
			po.setProject(project);
		}
			return po;
	}

	/**
	 * @param po
	 */
	public void updatePO(BugVersion po) {
			// 设置PO属性no
		po.setNo(this.no);
		
				// 设置PO的project属性:M21
		if (!WoUtil.isEmpty(projectId)) {
			Project project = new Project();
			project.setId(this.projectId);
			po.setProject(project);
		} else {
			po.setProject(null);
		}
		}
}
